package config

import (
	"github.com/zeromicro/go-zero/rest"
)

type MongoDB struct {
	Url        string `json:",default=mongodb://localhost:27017"`
	DbName     string `json:",default=testdb"`
	Collection string `json:",default=test"`
}

type EmailConf struct {
	From          string `json:",default=dco-signature@mail.atomgit.com"`
	Pwd           string `json:",default=6TCoD8DG8QMu"`
	Server        string `json:",default=smtpdm.aliyun.com"`
	ContentType   string `json:",default=text/plain"`
	TipsInfo      string `json:",default=邮件回复内容"`
	EmailCodeInfo string `json:",default=您的验证码是%s，1分钟内有效。如非本人操作，请忽略此邮件"`
}

type ClientConf struct {
	ClientID     string `json:""`
	ClientSecret string `json:""`
	AppId        string `json:""`
}

type RedisConf struct {
	Db   int    `json:",default=0"`
	Host string `json:""`
	Pass string `json:""`
	Type string `json:",default=node"`
}

type AppConf struct {
	Host             string `json:""`
	Home             string `json:""`
	Sign             string `json:""`
	QuerySign        string `json:""`
	AtomgitApi       string `json:""`
	DcoPrivateKeyPem string `json:""`
	AtomgitHost      string `json:""`
	GetInstallInfo   bool   `json:""`
}

type TokenVerifyConf struct {
	AK string `json:""`
	SK string `json:""`
}

type Config struct {
	rest.RestConf
	MonDB           MongoDB
	EConf           EmailConf
	Client          ClientConf
	Redis           RedisConf
	ApplicationConf AppConf
	TokenVerifyConf TokenVerifyConf
}
